ostree.git
12 years agoAdd "refs" builtin
Colin Walters [Sat, 29 Jun 2013 18:51:08 +0000 (14:51 -0400)]
Add "refs" builtin

This is just useful to look at before pruning, etc.

12 years agoAdd a bit more testing for prune
Colin Walters [Sat, 29 Jun 2013 18:02:17 +0000 (14:02 -0400)]
Add a bit more testing for prune

12 years agoExtract prune logic into an internal API
Colin Walters [Sat, 29 Jun 2013 17:48:26 +0000 (13:48 -0400)]
Extract prune logic into an internal API

This will be used by ostree admin deploy.

12 years agopull-local: Support --remote argument
Colin Walters [Sat, 29 Jun 2013 15:44:26 +0000 (11:44 -0400)]
pull-local: Support --remote argument

For offline upgrades, pull-local can now write the refs into a
specific remote, rather than using the local heads.

12 years agocore: Add "refspec" which is remote:refname
Colin Walters [Sat, 29 Jun 2013 15:42:33 +0000 (11:42 -0400)]
core: Add "refspec" which is remote:refname

This allows an unambiguous reference; otherwise, it was too easy to
have confusion between local heads and remotes.

12 years agogioutils: Many new utility functions
Colin Walters [Sat, 29 Jun 2013 15:43:31 +0000 (11:43 -0400)]
gioutils: Many new utility functions

Reading symbolic links becomes a much more common thing now.

12 years agoprepare-root: Only bind mount /home, /tmp, /root if they are directories
Colin Walters [Sun, 23 Jun 2013 21:56:14 +0000 (17:56 -0400)]
prepare-root: Only bind mount /home, /tmp, /root if they are directories

What we expect for new systems is for these to be symbolic links:
/home -> /sysroot/home
etc.

12 years agocore: Port more callsites to gs_file_enumerator_iterate()
Colin Walters [Fri, 14 Jun 2013 23:45:40 +0000 (19:45 -0400)]
core: Port more callsites to gs_file_enumerator_iterate()

See previous commit.

12 years agocore: Update libgsystem, port some uses of GFileEnumerator
Colin Walters [Fri, 14 Jun 2013 23:14:35 +0000 (19:14 -0400)]
core: Update libgsystem, port some uses of GFileEnumerator

This makes the code *so* much nicer.

12 years agopull-local: Fix race condition pointed out by Benjamin
Colin Walters [Sat, 8 Jun 2013 18:15:43 +0000 (14:15 -0400)]
pull-local: Fix race condition pointed out by Benjamin

We could drop into g_main_loop_run() after the worker
thread had called g_main_loop_quit().

Fix this by following the pattern suggested by Ryan of a while loop
around our termination condition, and g_main_context_iteration().

12 years agopull-local: Fix race condition
Colin Walters [Sat, 8 Jun 2013 16:58:44 +0000 (12:58 -0400)]
pull-local: Fix race condition

https://bugzilla.gnome.org/show_bug.cgi?id=701861

12 years agodracut: Add ostree-remount
Colin Walters [Tue, 4 Jun 2013 17:18:36 +0000 (13:18 -0400)]
dracut: Add ostree-remount

Linux creates a copy of the soure mount flags when creating a bind
mount; if the source is read-only, then the bind mount is.

The problem is that systemd will remount the rootfs read/write, but
each mount (/home, /var etc.) will still be read-only.  We need to
remount every bind mount except for /usr to read-write too.

This only "worked" with the old ostree-switch-root because it
effectively force mounted the rootfs read-write always, ignoring the
"ro" flag.

12 years agodracut: Also ensure we're using the systemd module
Colin Walters [Tue, 4 Jun 2013 00:49:07 +0000 (20:49 -0400)]
dracut: Also ensure we're using the systemd module

I can't work out how this happens otherwise in Fedora...

12 years agoAdd --with-dracut
Colin Walters [Mon, 3 Jun 2013 18:12:40 +0000 (14:12 -0400)]
Add --with-dracut

This installs a Dracut module which parses the ostree= kernel command
line argument, and if given, sets up the OS/ at /sysroot, which
systemd's switch-root then moves into.  This only works if dracut is
configured to use systemd itself.

12 years agoostree-prepare-root: Don't require an extraneous argument
Colin Walters [Mon, 3 Jun 2013 02:18:19 +0000 (22:18 -0400)]
ostree-prepare-root: Don't require an extraneous argument

12 years agoostree-prepare-root: Parse /proc/cmdline, make RPRIVATE, set up /sysroot
Colin Walters [Mon, 3 Jun 2013 01:41:08 +0000 (21:41 -0400)]
ostree-prepare-root: Parse /proc/cmdline, make RPRIVATE, set up /sysroot

This does everything we need except for the actual switch-root.

12 years agoostree-prepare-root: New binary, used for systemd-in-initramfs setups
Colin Walters [Sun, 2 Jun 2013 19:36:56 +0000 (15:36 -0400)]
ostree-prepare-root: New binary, used for systemd-in-initramfs setups

Rather than attempting to hack up the "switch-root" functionality of
systemd, this binary allows us to simply prepare the root before we
switch into it.

12 years agoDrop support for generating initramfs images client side using dracut
Colin Walters [Fri, 31 May 2013 17:09:27 +0000 (13:09 -0400)]
Drop support for generating initramfs images client side using dracut

This is the responsibility of whatever is generating filesystem trees.

12 years agoFold ostree-pull into main binary
Colin Walters [Thu, 30 May 2013 22:32:46 +0000 (18:32 -0400)]
Fold ostree-pull into main binary

The rationale for the separation was always kind of weak; I want to
refactor the command line argument parsing, and it was complicating
things.

12 years agopull: Exit cleanly with an error on failure to fetch refs
Colin Walters [Mon, 27 May 2013 13:29:33 +0000 (09:29 -0400)]
pull: Exit cleanly with an error on failure to fetch refs

12 years agoupgrade: Actually prune deployments again
Colin Walters [Mon, 27 May 2013 13:29:05 +0000 (09:29 -0400)]
upgrade: Actually prune deployments again

That was a rather critical logic error...

12 years agoTODO: Update
Colin Walters [Fri, 17 May 2013 01:42:24 +0000 (21:42 -0400)]
TODO: Update

12 years agoupgrade: Actually deploy upgraded tree again
Colin Walters [Thu, 16 May 2013 19:37:49 +0000 (15:37 -0400)]
upgrade: Actually deploy upgraded tree again

I need a brown paper bag for this one...

12 years agoadmin: Add -r option to upgrade to initiate a reboot if tree changes
Colin Walters [Thu, 16 May 2013 12:29:20 +0000 (08:29 -0400)]
admin: Add -r option to upgrade to initiate a reboot if tree changes

$ ostree admin upgrade -r

is convenient to fire off inside a VM and come back to it later.

12 years agoupgrade: Don't require specification of osname
Colin Walters [Wed, 15 May 2013 12:18:53 +0000 (08:18 -0400)]
upgrade: Don't require specification of osname

Since this is a highly visible command, let's have a sane default and
upgrade the currently running OS.

12 years agoAdd a --version argument that also outputs features
Colin Walters [Wed, 1 May 2013 23:15:06 +0000 (19:15 -0400)]
Add a --version argument that also outputs features

And use it in the tests to skip libarchive tests when the build
doesn't support it.

12 years agoarchive-test: Handle umask of 022 or 002
Colin Walters [Wed, 1 May 2013 22:43:01 +0000 (18:43 -0400)]
archive-test: Handle umask of 022 or 002

Red Hat appears to default to 002, whereas Debian systems default
to 022.  Fun.

12 years agoInstall tests
Colin Walters [Wed, 1 May 2013 19:26:21 +0000 (15:26 -0400)]
Install tests

Matching https://live.gnome.org/GnomeGoals/InstalledTests

12 years agocheckout: Add --allow-noent option
Colin Walters [Wed, 1 May 2013 16:15:02 +0000 (12:15 -0400)]
checkout: Add --allow-noent option

This is useful for the gnome-ostree build system where each build is
one commit, but it's split up into /runtime /devel /debug etc. trees.
Ideally we wouldn't have a /debug subdirectory for "noarch"
components for example.

So add an option to not error out if the given path doesn't exist in
the commit.

12 years agorepo: Fix race condition in async checkout
Colin Walters [Tue, 30 Apr 2013 23:34:20 +0000 (19:34 -0400)]
repo: Fix race condition in async checkout

When multiple threads need to uncompress an object, there was
a race condition where thread A could get EEXIST, unlink,
then thread B calls linkat(), then thread A tries to link() but
fails.

We can just loop in this case.

12 years agolibotutil: Drop is-hidden from fast queryinfo
Colin Walters [Tue, 30 Apr 2013 02:08:56 +0000 (22:08 -0400)]
libotutil: Drop is-hidden from fast queryinfo

Since now we look at .hidden files and bang on the mainloop for every
file lookup if that's specified =(

12 years agolibgsystem: Update to latest
Colin Walters [Mon, 29 Apr 2013 18:04:48 +0000 (14:04 -0400)]
libgsystem: Update to latest

12 years agodeploy: Swap current symlink only after updating the kernel
Colin Walters [Fri, 26 Apr 2013 22:15:51 +0000 (18:15 -0400)]
deploy: Swap current symlink only after updating the kernel

While this still isn't fully atomic (that depends on the bootloader),
this better ensures that the deployed kernel is booted with the
intended tree.  For example, if we get ENOSPC when writing out the
kernel, we won't have swapped the symlink.

12 years agolibgsystem: Update
Colin Walters [Mon, 22 Apr 2013 16:27:47 +0000 (12:27 -0400)]
libgsystem: Update

12 years agopull-deploy: Tweak documentation to show using it for switching trees
Colin Walters [Sun, 21 Apr 2013 14:39:27 +0000 (10:39 -0400)]
pull-deploy: Tweak documentation to show using it for switching trees

12 years agoadmin: Use linkcopy_sync_data() for initramfs instead of rename()
Colin Walters [Mon, 15 Apr 2013 16:50:58 +0000 (12:50 -0400)]
admin: Use linkcopy_sync_data() for initramfs instead of rename()

It's possible (likely even) that /tmp is on a separate filesystem; in
that case, a raw rename() is going to fail.

Saw this on the ostree.gnome.org builder.

13 years agoprune: Use g_format_size() so we get a human-readable number
Colin Walters [Mon, 8 Apr 2013 20:55:35 +0000 (16:55 -0400)]
prune: Use g_format_size() so we get a human-readable number

We don't really care about the precise bytes.

13 years agowaitablequeue: Only use API from GLib 2.34
Colin Walters [Wed, 3 Apr 2013 04:50:16 +0000 (00:50 -0400)]
waitablequeue: Only use API from GLib 2.34

As intended.

13 years agoRelease 2013.2
Colin Walters [Tue, 2 Apr 2013 02:23:46 +0000 (22:23 -0400)]
Release 2013.2

13 years agobuild: Add scripts to EXTRA_DIST
Colin Walters [Tue, 2 Apr 2013 02:18:56 +0000 (22:18 -0400)]
build: Add scripts to EXTRA_DIST

...because Automake apparently doesn't.

13 years agoswitchroot: Suppress compiler warning for asprintf
Colin Walters [Tue, 2 Apr 2013 01:52:24 +0000 (21:52 -0400)]
switchroot: Suppress compiler warning for asprintf

We're not going to run OOM here, if we do, we're totally screwed
anyways.

13 years agoRelease 2013.1
Colin Walters [Tue, 2 Apr 2013 01:36:40 +0000 (21:36 -0400)]
Release 2013.1

13 years agopull: Rework threading communication model
Colin Walters [Fri, 29 Mar 2013 21:16:03 +0000 (17:16 -0400)]
pull: Rework threading communication model

Previously, I've observed bugs where we either:
1) Exit too early, leaving undownloaded objects
2) Hang while downloading

This rewrite hopefully fixes both.

13 years agorun-apache: Use -DFOREGROUND, not -X
Colin Walters [Mon, 1 Apr 2013 22:53:12 +0000 (18:53 -0400)]
run-apache: Use -DFOREGROUND, not -X

-X implies debug mode which limits the workers to 1, which totally
kills parallelism.

13 years agocore: Fix object enumeration for archive-z2 repositories
Colin Walters [Mon, 1 Apr 2013 15:43:03 +0000 (11:43 -0400)]
core: Fix object enumeration for archive-z2 repositories

This makes fsck work again, among other things.

13 years agopull: Drop support for original archive repositories
Colin Walters [Fri, 29 Mar 2013 21:22:56 +0000 (17:22 -0400)]
pull: Drop support for original archive repositories

For future refactoring here, it's just too complex to maintain support
for both of them, and the advantages of archive-z2 outweigh archive
too much.

13 years agotests: Update expected diff output
Colin Walters [Tue, 26 Mar 2013 12:29:30 +0000 (08:29 -0400)]
tests: Update expected diff output

For previous diff commit.

13 years agoadmin: Assume we're using /ostree if there's a toplevel /usr
Colin Walters [Mon, 18 Mar 2013 22:11:00 +0000 (18:11 -0400)]
admin: Assume we're using /ostree if there's a toplevel /usr

Mainly so admin install works without an existing /ostree again.

13 years agoadmin: Support installing pregenerated initramfs images from tree
Colin Walters [Sat, 16 Mar 2013 21:45:15 +0000 (17:45 -0400)]
admin: Support installing pregenerated initramfs images from tree

Us running dracut is a hack, basically.  We should default to
generating this on the server.

13 years agobuild: Bump GLib dependency to 2.34.0
Colin Walters [Tue, 12 Mar 2013 22:45:27 +0000 (18:45 -0400)]
build: Bump GLib dependency to 2.34.0

Just cleaner than an unstable version.

13 years agoconfig-diff: Properly print files relative to root
Colin Walters [Tue, 12 Mar 2013 12:47:11 +0000 (08:47 -0400)]
config-diff: Properly print files relative to root

Just less ugly.

13 years agoadmin: Fix lookup of active root
Colin Walters [Thu, 7 Mar 2013 21:46:41 +0000 (16:46 -0500)]
admin: Fix lookup of active root

This should hopefully *really* fix deleting running deployments

https://bugzilla.gnome.org/show_bug.cgi?id=694762

13 years agoadmin: Don't delete the running deployment
Colin Walters [Mon, 4 Mar 2013 23:00:23 +0000 (18:00 -0500)]
admin: Don't delete the running deployment

https://bugzilla.gnome.org/show_bug.cgi?id=694762

13 years agodeploy: Don't run triggers if /usr/share/ostree/triggers-run exists
Colin Walters [Mon, 4 Mar 2013 16:52:43 +0000 (11:52 -0500)]
deploy: Don't run triggers if /usr/share/ostree/triggers-run exists

This is preparatory work for a future gnome-ostree commit where we'll
default to running triggers on the build server side.

13 years agoUpdate libgsystem
Colin Walters [Tue, 26 Feb 2013 17:19:05 +0000 (12:19 -0500)]
Update libgsystem

13 years agocore: Use default /sysroot/ostree/repo or just /ostree/repo as appropriate
Colin Walters [Sun, 24 Feb 2013 15:00:23 +0000 (10:00 -0500)]
core: Use default /sysroot/ostree/repo or just /ostree/repo as appropriate

The old logic was just weird, special casing root, and we can easily
autodetect the case where we need /ostree/repo.

13 years agobuild: Use AC_SYS_LARGEFILE
Colin Walters [Sun, 24 Feb 2013 11:35:23 +0000 (06:35 -0500)]
build: Use AC_SYS_LARGEFILE

So we do the right thing on 32 bit.

13 years agopull-local: Don't call g_hash_table_init() on a NULL hash
Colin Walters [Sat, 23 Feb 2013 16:15:19 +0000 (11:15 -0500)]
pull-local: Don't call g_hash_table_init() on a NULL hash

Not sure why this wasn't crashing before.

13 years agocore: Add API to convert csum -> checksum without malloc()
Colin Walters [Sat, 23 Feb 2013 16:02:56 +0000 (11:02 -0500)]
core: Add API to convert csum -> checksum without malloc()

Just doing some profiling, this was in the top malloc() callers.

13 years agopull-local: Fix uninitialized variable ref
Colin Walters [Thu, 21 Feb 2013 18:05:14 +0000 (13:05 -0500)]
pull-local: Fix uninitialized variable ref

13 years agoTODO: A few updates
Colin Walters [Thu, 21 Feb 2013 16:18:29 +0000 (11:18 -0500)]
TODO: A few updates

13 years agopull-local: Output status even in non-tty case
Colin Walters [Thu, 21 Feb 2013 13:54:13 +0000 (08:54 -0500)]
pull-local: Output status even in non-tty case

This way I can see progress when running builddisks.

13 years agoadmin: Use /sysroot/ostree automatically
Colin Walters [Tue, 19 Feb 2013 16:02:33 +0000 (11:02 -0500)]
admin: Use /sysroot/ostree automatically

When booted inside an ostree system, we want /sysroot/ostree, not
just /ostree by default.

13 years agoswitchroot: Use MS_MOVE to / rather than chroot
Colin Walters [Tue, 12 Feb 2013 01:46:53 +0000 (20:46 -0500)]
switchroot: Use MS_MOVE to / rather than chroot

This fixes a number of bugs; the two biggest are:

1) On shutdown systemd can correctly umount /
2) We can use linux-user-chroot inside the system, as is
   necessary to do upgrades

See http://lists.freedesktop.org/archives/systemd-devel/2012-September/006703.html

13 years agopull-deploy: Allow switching trees too
Colin Walters [Fri, 1 Feb 2013 15:56:06 +0000 (10:56 -0500)]
pull-deploy: Allow switching trees too

$ ostree admin pull-deploy gnome-ostree trees/gnomeos-3.8-x86_64-devel

Now works to switch your current tree to -devel from the current
runtime.

13 years agopull-local: Fix crasher in previous commit when not connected to tty
Colin Walters [Mon, 28 Jan 2013 20:44:13 +0000 (15:44 -0500)]
pull-local: Fix crasher in previous commit when not connected to tty

13 years agopull-local: Port to GSConsole
Colin Walters [Mon, 28 Jan 2013 20:35:47 +0000 (15:35 -0500)]
pull-local: Port to GSConsole

13 years agopull-local: Support pulling checksums too
Colin Walters [Mon, 28 Jan 2013 20:32:06 +0000 (15:32 -0500)]
pull-local: Support pulling checksums too

This matches what pull allows.

13 years agolibgsystem: Update to the latest
Colin Walters [Fri, 25 Jan 2013 20:19:34 +0000 (15:19 -0500)]
libgsystem: Update to the latest

13 years agoadmin: Don't overwrite previous ref unless it's different
Colin Walters [Thu, 24 Jan 2013 22:32:59 +0000 (17:32 -0500)]
admin: Don't overwrite previous ref unless it's different

We shouldn't overwrite deploy/<osname>/previous unless we actually
have something new.

This fixes the bug where two consecutive:

$ ostree admin upgrade foo
$ ostree admin upgrade foo

would end up pruning the data for foo/previous from the repo.

13 years agopull: Drop dead code to pad output strings too
Colin Walters [Thu, 24 Jan 2013 20:38:06 +0000 (15:38 -0500)]
pull: Drop dead code to pad output strings too

This is in GSConsole now.

13 years agoPort ostree-pull to GSConsole
Colin Walters [Thu, 24 Jan 2013 20:22:16 +0000 (15:22 -0500)]
Port ostree-pull to GSConsole

As part of this, we need to ensure our streams are inherited across
the chain of child processes.

13 years agoUpdate to the latest libgsystem
Colin Walters [Wed, 23 Jan 2013 20:20:19 +0000 (15:20 -0500)]
Update to the latest libgsystem

13 years agoadmin install: Ensure /ostree is initialized first
Colin Walters [Fri, 18 Jan 2013 13:38:09 +0000 (08:38 -0500)]
admin install: Ensure /ostree is initialized first

https://bugzilla.gnome.org/show_bug.cgi?id=692008

13 years agoadmin: Ensure /var/log/journal exists
Colin Walters [Fri, 18 Jan 2013 03:08:21 +0000 (22:08 -0500)]
admin: Ensure /var/log/journal exists

This is admittedly a hack, since the story is that services should be
handling /var on their own.  But on the other hand the current systemd
story is that admins should create it to enable it.  Possibly a better
fix is --enable-journal-always or something for systemd.

13 years agoupdate-kernel: Change dracut to use tmpdir on host, fix deploy path lookup
Colin Walters [Wed, 9 Jan 2013 09:32:51 +0000 (04:32 -0500)]
update-kernel: Change dracut to use tmpdir on host, fix deploy path lookup

We had a bit of legacy code that looked for "current" if the deploy
path was unspecified; this needs to be deploy/OSNAME/current.

Secondly, we need to point dracut at a tmpdir outside of the root when
doing FUSE, because directories with mode 0700 and owned by root:root
aren't writable.

Also update libgsystem to the latest.

13 years agoadmin: Add --no-bootloader option to update-kernel
Colin Walters [Tue, 8 Jan 2013 18:57:24 +0000 (13:57 -0500)]
admin: Add --no-bootloader option to update-kernel

Will be used by the QA scripts, since we need to inspect the kernel
configuration and generate a correct grub conf from that, rather than
trying to have update-bootloader reuse an existing config, since there
won't be one initially.

13 years agoUpdate to the latest libgsystem
Colin Walters [Tue, 8 Jan 2013 12:04:29 +0000 (07:04 -0500)]
Update to the latest libgsystem

13 years agoadmin update-kernel: Drop support for booting from host kernel
Colin Walters [Sun, 6 Jan 2013 16:47:40 +0000 (11:47 -0500)]
admin update-kernel: Drop support for booting from host kernel

Now that gnome-ostree has a kernel, this functionality is no longer
necessary.  It was always a hack.

13 years agoadmin update-kernel: Ensure initramfs has correct owner/mode
Colin Walters [Sun, 6 Jan 2013 11:43:49 +0000 (06:43 -0500)]
admin update-kernel: Ensure initramfs has correct owner/mode

It was 0600, and owned by the creating process (in the fuse case,
non-root!).  We want it 0644/root/root.

13 years agoadmin: Propagate --boot-dir to subcommands
Colin Walters [Sun, 6 Jan 2013 11:12:42 +0000 (06:12 -0500)]
admin: Propagate --boot-dir to subcommands

Really, I should be using internal functions here...

13 years agocore: Drop dead prototypes from header
Colin Walters [Sat, 5 Jan 2013 00:47:56 +0000 (19:47 -0500)]
core: Drop dead prototypes from header

Followup to previous commit.

13 years agocore: Reuse more libgsystem API in utils
Colin Walters [Sat, 5 Jan 2013 00:46:02 +0000 (19:46 -0500)]
core: Reuse more libgsystem API in utils

More code drain to libgsystem.

13 years agocore: Ensure kernel and initramfs are put into place with fdatasync()
Colin Walters [Sat, 5 Jan 2013 00:32:26 +0000 (19:32 -0500)]
core: Ensure kernel and initramfs are put into place with fdatasync()

Via a new libgsystem API.

13 years agocore: Drain fdatasync() API into libgsystem
Colin Walters [Fri, 4 Jan 2013 22:25:32 +0000 (17:25 -0500)]
core: Drain fdatasync() API into libgsystem

Just code cleanup.

13 years agoadmin: Allow specifying --boot-dir
Colin Walters [Thu, 3 Jan 2013 03:44:06 +0000 (22:44 -0500)]
admin: Allow specifying --boot-dir

This is intended for use by QA tools that want to manipulate a
loopback-mounted disk image or the like.

13 years agoadmin: restore current-etc symlink
Giovanni Campagna [Fri, 21 Dec 2012 23:21:28 +0000 (00:21 +0100)]
admin: restore current-etc symlink

It is useful now like it was before, and it is used by the grub
update script.

https://bugzilla.gnome.org/show_bug.cgi?id=690743

13 years agoRelease 2012.13
Colin Walters [Sun, 23 Dec 2012 22:36:42 +0000 (17:36 -0500)]
Release 2012.13

13 years agopull: Fix a race condition causing an early exit
Colin Walters [Sun, 23 Dec 2012 22:18:08 +0000 (17:18 -0500)]
pull: Fix a race condition causing an early exit

This is a little less magical than what we had before.

13 years agopull: Use a basic exponential moving average for bytes/sec
Colin Walters [Sun, 23 Dec 2012 19:29:15 +0000 (14:29 -0500)]
pull: Use a basic exponential moving average for bytes/sec

Still should look what other downloading programs do, but this
is better then what we had before.

13 years agoadmin: Add new run-triggers command
Colin Walters [Sat, 22 Dec 2012 18:43:44 +0000 (13:43 -0500)]
admin: Add new run-triggers command

In some cases we want the ability to run triggers independently of
checking out a tree.  For example, due to kernel limitations which
impact the gnome-ostree build system, we may need to run triggers on
first boot via systemd.

Secondarily, if the user installs a system extension which adds a new
shared library to /usr/lib for example, the system will need to run
the triggers again.

Also, I think I want to take triggers out of the core and put them in
ostree admin anyways.

13 years agoadmin: Rework /ostree/deploy to support multiple independent operating systems
Colin Walters [Wed, 19 Dec 2012 22:52:46 +0000 (17:52 -0500)]
admin: Rework /ostree/deploy to support multiple independent operating systems

The real vision of OSTree is to "multiple versions of multiple
operating systems".  Up until now, it's worked to install gnome-ostree
inside a host distribution, but several things don't work quite right
if you try to do completely different systems.

In the new model, there's the concept of an "osname" which encompasses
a few properties:

1) Its own /var
2) A set of trees deployed in /ostree/deploy/OSNAME/
3) Its own "current" and "previous" links.

Now it no longer really makes sense to boot with "ostree=current".
Instead, you specify e.g. "ostree=gnome/current".

This is an incompatible change to the deployment code - you will need
to run init-os gnome and redeploy.

All "ostree admin" subcommands now take an OSNAME argument.

13 years agoadmin: Support installing a kernel from the tree, default to it
Colin Walters [Tue, 4 Dec 2012 00:18:37 +0000 (19:18 -0500)]
admin: Support installing a kernel from the tree, default to it

The "protocol" here is rather lame; we just look for
/boot/vmlinuz-RELEASE and /lib/modules/RELEASE.  But good enough for
now.

13 years agocore: Use new libgsystem GSSubprocess API
Colin Walters [Fri, 21 Dec 2012 16:52:28 +0000 (11:52 -0500)]
core: Use new libgsystem GSSubprocess API

It's less screwing around with GPtrArray in most cases.

13 years agobuild: Set libsoup min/max defines
Colin Walters [Fri, 21 Dec 2012 16:33:05 +0000 (11:33 -0500)]
build: Set libsoup min/max defines

So we don't get warnings about soup_requester being deprecated.

13 years agocore: Pick better names for tmpfiles if no prefix given
Colin Walters [Fri, 21 Dec 2012 16:07:50 +0000 (11:07 -0500)]
core: Pick better names for tmpfiles if no prefix given

Just makes it easier to track down where files came from.

13 years agoOtWorkerQueue: Don't exit until we've fulfilled initial requests
Colin Walters [Fri, 21 Dec 2012 14:35:27 +0000 (09:35 -0500)]
OtWorkerQueue: Don't exit until we've fulfilled initial requests

This counts as an implicit "hold" on the first items, which we must
complete.  Otherwise there are race conditions where the queue may
signal idle when in fact the main process is still working.

13 years agoUpdate to latest libgsystem
Colin Walters [Fri, 21 Dec 2012 01:50:02 +0000 (20:50 -0500)]
Update to latest libgsystem

Has a bugfix change to gs_subprocess_new().

13 years agocore: Allow creating tempfile without associated output stream
Colin Walters [Fri, 21 Dec 2012 01:49:19 +0000 (20:49 -0500)]
core: Allow creating tempfile without associated output stream

Just slightly more efficient, and we'll use this for spawning curl to
a tempfile.

13 years agocore: Clean up tmpfile creation code
Colin Walters [Thu, 13 Dec 2012 20:12:51 +0000 (15:12 -0500)]
core: Clean up tmpfile creation code

I have been seeing random failures here...not entirely sure why yet,
but this code is cleaner.